home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -seriously_amiga- / misc / ced_html / html / html_sensiblearea.ced < prev    next >
Text File  |  1999-01-25  |  10KB  |  422 lines

  1. /*
  2. ** html_sensiblearea.ced
  3. **
  4. ** $VER: html_sensiblearea.ced 1.3 (12.20.1998)
  5. **
  6. ** Arexx script for HTML v3.2 sensible area mark
  7. **
  8. ** This script works with CygnusEd Professional v4.2
  9. **
  10. ** Copyright © Eric BELLE
  11. */
  12.  
  13. /*
  14. **------------------------------------------------------------------------------
  15. **    Initialisation
  16. **------------------------------------------------------------------------------
  17. */
  18.  
  19. OPTIONS RESULTS                            /* Tell CygnusEd to return results. */
  20. NL = '0A'X                                    /* Alias for new line. */
  21. KRETURN = RAWKEY 68                    /* Shortcut to the return key. */
  22. KTAB = RAWKEY 66                        /* Shortcut to the tab key. */
  23. STATUS TABSARESPACES                /* Return TAB mode ("tab" or "space"). */
  24. IF RESULT = 1                                /* Test the TAB mode. */
  25. THEN "TABS = SPACES"                /* Switch TAB mode from "space" to "tab". */
  26. ELSE NOP                                        /* No operation. */
  27. TAB SIZE 1                                    /* Set TAB size proportional to 2 spaces. */
  28.  
  29. /*
  30. **------------------------------------------------------------------------------
  31. **    Sensible area caracteristics
  32. **------------------------------------------------------------------------------
  33. */
  34.  
  35. AreaShape = "q"
  36. DO WHILE ~(AreaShape="r" | AreaShape="c" | AreaShape="p",
  37.                     | AreaShape=" " | AreaShape="RESULT")
  38.     GETSTRING "r" '"Area shape: (r)ectangular, (c)ircle, (p)olygon?"'
  39.     AreaShape = RESULT
  40. END
  41.  
  42. SELECT
  43.     WHEN (AreaShape="r") THEN DO
  44.         GETNUMBER 1 '"X1 (pixels)?"' 0 32768
  45.         X1 = RESULT
  46.  
  47.         IF (X1=" ")
  48.         THEN EXIT 0
  49.         ELSE NOP
  50.             
  51.         GETNUMBER 1 '"Y1 (pixels)?"' 0 32768
  52.         Y1 = RESULT
  53.  
  54.         IF (Y1=" ")
  55.         THEN EXIT 0
  56.         ELSE NOP
  57.             
  58.         GETNUMBER 50 '"X2 (pixels)?"' 0 32768
  59.         X2 = RESULT
  60.  
  61.         IF (X2=" ")
  62.         THEN EXIT 0
  63.         ELSE NOP
  64.             
  65.         GETNUMBER 50 '"Y2 (pixels)?"' 0 32768
  66.         Y2 = RESULT
  67.  
  68.         IF (Y2=" ")
  69.         THEN EXIT 0
  70.         ELSE NOP
  71.             
  72.         AreaString = '<AREA SHAPE="RECT" COORDS="'
  73.         AreaString = AreaString || X1 || "," || Y1 || "," || X2 || "," || Y2
  74.  
  75.         CALL Link
  76.         AreaString = AreaString || Link
  77.     END
  78.     WHEN (AreaShape="c") THEN DO
  79.         GETNUMBER 10 '"X (pixels)?"' 0 32768
  80.         X = RESULT
  81.  
  82.         IF (X=" ")
  83.         THEN EXIT 0
  84.         ELSE NOP
  85.             
  86.         GETNUMBER 10 '"Y (pixels)?"' 0 32768
  87.         Y = RESULT
  88.  
  89.         IF (Y=" ")
  90.         THEN EXIT 0
  91.         ELSE NOP
  92.             
  93.         GETNUMBER 10 '"R (pixels)?"' 0 32768
  94.         R = RESULT
  95.  
  96.         IF (R=" ")
  97.         THEN EXIT 0
  98.         ELSE NOP
  99.  
  100.         AreaString = '<AREA SHAPE="CIRCLE" COORDS="'
  101.         AreaString = AreaString || X || "," || Y || "," || R
  102.  
  103.         CALL Link
  104.         AreaString = AreaString || Link
  105.     END
  106.     WHEN (AreaShape="p") THEN DO
  107.         GETNUMBER 3 '"Angle number?"' 3 32768
  108.         AngleNumber = RESULT
  109.  
  110.         IF (AngleNumber=" ")
  111.         THEN EXIT 0
  112.         ELSE NOP
  113.  
  114.         AreaString = '<AREA SHAPE="POLYGON" COORDS="'
  115.         DO J=1 TO AngleNumber
  116.             Question = '"X' || J || ' (pixels)?"'
  117.             GETNUMBER J Question  0 32768
  118.             X.J = RESULT
  119.  
  120.             IF (X.J=" ")
  121.             THEN EXIT 0
  122.             ELSE NOP
  123.             
  124.             Question = '"Y' || J || ' (pixels)?"'
  125.             GETNUMBER J Question 0 32768
  126.             Y.J = RESULT
  127.  
  128.             IF (Y.J=" ")
  129.             THEN EXIT 0
  130.             ELSE NOP
  131.  
  132.             IF (J=AngleNumber)
  133.             THEN AreaString = AreaString || X.J || "," || Y.J
  134.             ELSE AreaString = AreaString || X.J || "," || Y.J || ","
  135.         END
  136.  
  137.         CALL Link
  138.         AreaString = AreaString || Link
  139.     END
  140.     OTHERWISE EXIT 0
  141. END
  142.  
  143. /*
  144. **------------------------------------------------------------------------------
  145. **    Sensible area structure
  146. **------------------------------------------------------------------------------
  147. */
  148.  
  149. TEXT AreaString
  150.  
  151. /*
  152. **------------------------------------------------------------------------------
  153. **    End of html_sensiblearea.ced Arexx script
  154. **------------------------------------------------------------------------------
  155. */
  156.  
  157. EXIT 0
  158.  
  159. /*
  160. **------------------------------------------------------------------------------
  161. **    Link macro for html_sensiblearea.ced Arexx script
  162. **------------------------------------------------------------------------------
  163. */
  164.  
  165. Link:
  166.  
  167. /*
  168. **------------------------------------------------------------------------------
  169. **    Link macro choice
  170. **------------------------------------------------------------------------------
  171. */
  172.  
  173. LinkChoice="no"
  174. DO WHILE (LinkChoice="no")
  175.         OKAY2 "Link mode:"                            ||    NL    ||,
  176.                     "~~~~~~~~~"                                ||    NL    ||,
  177.                     "  (0)  - local anchor               |  (7)  - universal file             "        ||    NL    ||,
  178.                     "  (1)  - local file                 |  (8)  - universal file with anchor "        ||    NL    ||,
  179.                     "  (2)  - local file with anchor     |  (9)  - universal WWW              "        ||    NL    ||,
  180.                     "                                    |  (10) - universal WWW with anchor  "        ||    NL    ||,
  181.                     "  (3)  - absolute file              |  (11) - universal FTP              "        ||    NL    ||,
  182.                     "  (4)  - absolute file with anchor  |  (12) - universal Telnet           "        ||    NL    ||,
  183.                     "  (5)  - absolute WWW               |  (13) - universal Gopher           "        ||    NL    ||,
  184.                     "  (6)  - absolute WWW with anchor   |  (14) - universal Usenet           "        ||    NL    ||,
  185.                     "                                    |  (15) - universal e-Mail           "
  186.         
  187.     IF (RESULT=0)
  188.     THEN EXIT 0
  189.     ELSE LinkChoice="ok"
  190.  
  191.     GETNUMBER 0 '"Link mode?"' 0 17
  192.     LinkMode = RESULT
  193.  
  194.     IF (LinkMode=" ")
  195.     THEN LinkChoice = "no"
  196.     ELSE NOP
  197. END
  198.  
  199. /*
  200. **------------------------------------------------------------------------------
  201. **    Html link macro marks
  202. **------------------------------------------------------------------------------
  203. */
  204.  
  205. SELECT
  206.     WHEN (LinkMode=0) THEN DO
  207.         GETSTRING "Anchor" '"Anchor identification name?"'
  208.         AnchorName = RESULT
  209.  
  210.         IF (AnchorName="RESULT" | AnchorName=" ")
  211.         THEN EXIT 0
  212.         ELSE NOP
  213.  
  214.         Link = '" HREF="#' || AnchorName || '">'
  215.     END
  216.     WHEN (LinkMode=1) THEN DO
  217.         GETSTRING "File" '"File name with its relative path?"'
  218.         FileName = RESULT
  219.  
  220.         IF (FileName=" " | FileName="RESULT")
  221.         THEN EXIT 0
  222.         ELSE NOP
  223.  
  224.         Link = '" HREF="' || FileName || '">'
  225.     END
  226.     WHEN (LinkMode=2) THEN DO
  227.         GETSTRING "File" '"File name with its relative path?"'
  228.         FileName = RESULT
  229.  
  230.         IF (FileName=" " | FileName="RESULT")
  231.         THEN EXIT 0
  232.         ELSE NOP
  233.  
  234.         GETSTRING "Anchor" '"Anchor identification name?"'
  235.         AnchorName = RESULT
  236.  
  237.         IF (AnchorName="RESULT" | AnchorName=" ")
  238.         THEN EXIT 0
  239.         ELSE NOP        
  240.  
  241.         Link = '" HREF="' || FileName || "#" || AnchorName || '">'
  242.     END
  243.     WHEN (LinkMode=3) THEN DO
  244.         STATUS DIRNAME
  245.         HtmlFileDir = RESULT || "/"
  246.  
  247.         GETFILENAME HtmlFileDir '"Select file"'
  248.         FileName = RESULT
  249.  
  250.         IF (FileName=" " | FileName="RESULT")
  251.         THEN EXIT 0
  252.         ELSE NOP
  253.  
  254.         Link = '" HREF="file://localhost/' || FileName || '">'
  255.     END
  256.     WHEN (LinkMode=4) THEN DO
  257.         STATUS DIRNAME
  258.         HtmlFileDir = RESULT || "/"
  259.  
  260.         GETFILENAME HtmlFileDir '"Select file"'
  261.         FileName = RESULT
  262.  
  263.         IF (FileName=" " | FileName="RESULT")
  264.         THEN EXIT 0
  265.         ELSE NOP
  266.  
  267.         GETSTRING "Anchor" '"Anchor identification name?"'
  268.         AnchorName = RESULT
  269.  
  270.         IF (AnchorName="RESULT" | AnchorName=" ")
  271.         THEN EXIT 0
  272.         ELSE NOP        
  273.  
  274.         Link = '" HREF="file://localhost/' || FileName || "#" || AnchorName || '">'
  275.     END
  276.     WHEN (LinkMode=5) THEN DO
  277.         STATUS DIRNAME
  278.         HtmlFileDir = RESULT || "/"
  279.  
  280.         GETFILENAME HtmlFileDir '"Select file"'
  281.         FileName = RESULT
  282.  
  283.         IF (FileName=" " | FileName="RESULT")
  284.         THEN EXIT 0
  285.         ELSE NOP
  286.  
  287.         Link = '" HREF="http://localhost/' || FileName || '">'
  288.     END
  289.     WHEN (LinkMode=6) THEN DO
  290.         STATUS DIRNAME
  291.         HtmlFileDir = RESULT || "/"
  292.  
  293.         GETFILENAME HtmlFileDir '"Select file"'
  294.         FileName = RESULT
  295.  
  296.         IF (FileName=" " | FileName="RESULT")
  297.         THEN EXIT 0
  298.         ELSE NOP
  299.  
  300.         GETSTRING "Anchor" '"Anchor identification name?"'
  301.         AnchorName = RESULT
  302.  
  303.         IF (AnchorName="RESULT" | AnchorName=" ")
  304.         THEN EXIT 0
  305.         ELSE NOP        
  306.  
  307.         Link = '" HREF="http://localhost/' || FileName || "#" || AnchorName || '">'
  308.     END
  309.     WHEN (LinkMode=7) THEN DO
  310.         GETSTRING "File" '"File name with its universal path?"'
  311.         FileName = RESULT
  312.  
  313.         IF (FileName="RESULT" | FileName=" ")
  314.         THEN EXIT 0
  315.         ELSE NOP
  316.  
  317.         Link = '" HREF="file://' || FileName || '">'        
  318.     END
  319.     WHEN (LinkMode=8) THEN DO
  320.         GETSTRING "File" '"File name with its universal path?"'
  321.         FileName = RESULT
  322.  
  323.         IF (FileName="RESULT" | FileName=" ")
  324.         THEN EXIT 0
  325.         ELSE NOP
  326.  
  327.         GETSTRING "Anchor" '"Anchor identification name?"'
  328.         AnchorName = RESULT
  329.  
  330.         IF (AnchorName="RESULT" | AnchorName=" ")
  331.         THEN EXIT 0
  332.         ELSE NOP        
  333.  
  334.         Link = '" HREF="file://' || FileName || "#" || AnchorName || '">'
  335.     END
  336.     WHEN (LinkMode=9) THEN DO
  337.         GETSTRING "Html" '"Html file name with its universal path?"'
  338.         HtmlName = RESULT
  339.  
  340.         IF (HtmlName="RESULT" | HtmlName=" ")
  341.         THEN EXIT 0
  342.         ELSE NOP
  343.  
  344.         Link = '" HREF="http://' || HtmlName || '">'        
  345.     END
  346.     WHEN (LinkMode=10) THEN DO
  347.         GETSTRING "Html" '"Html file name with its universal path?"'
  348.         HtmlName = RESULT
  349.  
  350.         IF (HtmlName="RESULT" | HtmlName=" ")
  351.         THEN EXIT 0
  352.         ELSE NOP
  353.  
  354.         GETSTRING "Anchor" '"Anchor identification name?"'
  355.         AnchorName = RESULT
  356.  
  357.         IF (AnchorName="RESULT" | AnchorName=" ")
  358.         THEN EXIT 0
  359.         ELSE NOP        
  360.  
  361.         Link = '" HREF="http://' || HtmlName || "#" || AnchorName || '">'        
  362.     END
  363.     WHEN (LinkMode=11) THEN DO
  364.         GETSTRING "Ftp" '"Ftp host?"'
  365.         FtpName = RESULT
  366.  
  367.         IF (FtpName="RESULT" | FtpName=" ")
  368.         THEN EXIT 0
  369.         ELSE NOP
  370.  
  371.         Link = '" HREF="ftp://' || FtpName || '">'        
  372.     END
  373.     WHEN (LinkMode=12) THEN DO
  374.         GETSTRING "Telnet" '"Telnet host?"'
  375.         TelnetName = RESULT
  376.  
  377.         IF (TelnetName="RESULT" | TelnetName=" ")
  378.         THEN EXIT 0
  379.         ELSE NOP
  380.  
  381.         Link = '" HREF="telnet://' || TelnetName || '">'        
  382.     END
  383.     WHEN (LinkMode=13) THEN DO
  384.         GETSTRING "Gopher" '"Gopher host?"'
  385.         GopherName = RESULT
  386.  
  387.         IF (GopherName="RESULT" | GopherName=" ")
  388.         THEN EXIT 0
  389.         ELSE NOP
  390.  
  391.         Link = '" HREF="gopher://' || GopherName || '">'        
  392.     END
  393.     WHEN (LinkMode=14) THEN DO
  394.         GETSTRING "News" '"Usenet newsgroup host?"'
  395.         NewsName = RESULT
  396.  
  397.         IF (NewsName="RESULT" | NewsName=" ")
  398.         THEN EXIT 0
  399.         ELSE NOP
  400.  
  401.         Link = '" HREF="news://' || NewsName || '">'        
  402.     END
  403.     WHEN (LinkMode=15) THEN DO
  404.         GETSTRING "e-Mail" '"Electronic mail?"'
  405.         MailName = RESULT
  406.  
  407.         IF (MailName="RESULT" | MailName=" ")
  408.         THEN EXIT 0
  409.         ELSE NOP
  410.  
  411.         Link = '" HREF="mailto://' || MailName || '">'        
  412.     END
  413.     OTHERWISE NOP
  414. END
  415.  
  416. /*
  417. **------------------------------------------------------------------------------
  418. **    End of link macro
  419. **------------------------------------------------------------------------------
  420. */
  421.  
  422. RETURN